package com.vogue.supplymall.order.domain.dao;

import com.vogue.supplymall.common.domain.dto.CommentInfo;
import com.vogue.supplymall.common.domain.dto.RelevanceInfo;
import com.vogue.supplymall.order.domain.model.Comment;

import java.util.List;
import java.util.Map;

public interface CommentDao extends BaseDao<Comment, Long> {

    /**
     * 待评价数量
     * @param relevanceInfo the relevance info
     * @return the map
     */
    Map<String, Object> getCommentingCount(RelevanceInfo relevanceInfo);
    Map<String, Object> getCommentingCount(CommentInfo commentInfo);

    /**
     * 已评价数量
     * @return
     */
    Map<String, Object> getFinishCommentCount(RelevanceInfo relevanceInfo);

    /**
     * 查看买家 去评价列表
     * @param commentInfo
     * @return
     */
    List<Map<String, Object>> findBuyerCommentList(CommentInfo commentInfo);

    /**
     * 查看评价详情
     * @param commentInfo
     * @return
     */
    List<Map<String, Object>> findBuyerCommentDetail(CommentInfo commentInfo);

    /**
     * 获取买家对商品的评价照片
     * @param commentid
     * @param commentdetailid
     * @return
     */
    List getProductImgUrls(String commentid, String commentdetailid);

    /**
     * 查看卖家 去评价列表
     * @param commentInfo
     * @return
     */
    List<Map<String, Object>> findSellerCommentList(CommentInfo commentInfo);

    /**
     * 查看评价详情
     * @param commentInfo
     * @return
     */
    List<Map<String, Object>> findSellerCommentDetail(CommentInfo commentInfo);
    
    /**
     * 删除卖家回复评论
     */
    public String delSellerComment();
    
    /**
     * 将买家评价置为已回复或未回复状态
     */
    public String setValueForAnswerFlag();
    
    /**
     * 置已读标记
     */
    public String setValueForReadFlag();
    
    /**
     * 置是否需要回复标记
     */
    public String updateRestoreflag();

    /**
     * 获取卖家的默认回复
     * @param commentInfo
     * @return
     */
    public List<Map<String, Object>> getDefaultAnswer(CommentInfo commentInfo);
}
